home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 49 / Amiga Format CD49 (2000-01-17)(Future Publishing)(GB)(Track 1 of 3)[!][issue 2000-02].iso / -serious- / comms / other / novia / src / include / novia_nsl.h < prev    next >
C/C++ Source or Header  |  1999-12-06  |  5KB  |  191 lines

  1. #ifndef NOVIA_NSL_H
  2. #define NOVIA_NSL_H
  3.  
  4. #ifndef EXEC_TYPES_H
  5. #include <exec/types.h>
  6. #endif
  7.  
  8. #define NSL_RESULT_FALSE                    0
  9. #define NSL_RESULT_TRUE                        1
  10.  
  11. #define NSL_TYPE_NOTDEFINED                0
  12.  
  13. #define NSL_TYPE_ACCESSGROUP                101        /* structure entry (se) types */
  14. #define NSL_TYPE_ANSICOLORS                102
  15. #define NSL_TYPE_ANSIMODE                    103
  16. #define NSL_TYPE_ANSITABS                    104
  17. #define NSL_TYPE_ARCMETHOD                    105
  18. #define NSL_TYPE_BOOL                        106
  19. #define NSL_TYPE_CHARSET                    107
  20. #define NSL_TYPE_COMPUTERTYPE                108
  21. #define NSL_TYPE_COUNTRY                    109
  22. #define NSL_TYPE_DATE                        110
  23. #define NSL_TYPE_DIRECTORYPATH            111
  24. #define NSL_TYPE_EOLSEQUENCE                112
  25. #define NSL_TYPE_GENDER                        113
  26. #define NSL_TYPE_HELPLEVEL                    114
  27. #define NSL_TYPE_LANGUAGE                    115
  28. #define NSL_TYPE_LINEFEEDS                    116
  29. #define NSL_TYPE_MOREMODE                    117
  30. #define NSL_TYPE_PHONENUMBER                118
  31. #define NSL_TYPE_PHONEVERIFICATION        119
  32. #define NSL_TYPE_PROTOCOL                    120
  33. #define NSL_TYPE_STRING                        121
  34. #define NSL_TYPE_TIMEFORMAT                122
  35. #define NSL_TYPE_TIMEZONE                    123
  36. #define NSL_TYPE_UBYTE                        124
  37. #define NSL_TYPE_ULONG                        125
  38. #define NSL_TYPE_USERID                        126
  39. #define NSL_TYPE_UWORD                        127
  40. #define NSL_TYPE_GROUPBOOL                    128
  41. #define NSL_TYPE_DATEFORMAT                129
  42. #define NSL_TYPE_FILENAME                    130
  43. #define NSL_TYPE_DOMAIN                        140
  44. #define NSL_TYPE_INETADDRESS                141
  45. #define NSL_TYPE_INETSERVICEPORT            142
  46. #define NSL_TYPE_INETUSERLIST                143
  47. #define NSL_TYPE_INETSERVERSTATUS        144
  48. #define NSL_TYPE_INETMAILUSERTYPE        145
  49. #define NSL_TYPE_INETUSERNAME                146
  50. #define NSL_TYPE_IPADDRESS                    147
  51. #define NSL_TYPE_SCREENMODE                148
  52. #define NSL_TYPE_FONTNAME                    149
  53. #define NSL_TYPE_CLIENTLIST                150
  54. #define NSL_TYPE_LOCALMAILSERVERLIST    151
  55. #define NSL_TYPE_POP3SERVERLIST            152
  56. #define NSL_TYPE_EVENTLIST                    153
  57. #define NSL_TYPE_USERIP                        154
  58. #define NSL_TYPE_ITEMTYPE                    155
  59. #define NSL_TYPE_PROTECTION                156
  60.  
  61. #define NSL_TYPE_NULL                        500    /* nsl menu types */
  62. #define NSL_TYPE_LABEL                        501
  63. #define NSL_TYPE_MENU                        502                        
  64. #define NSL_TYPE_COMMENT                    503
  65. #define NSL_TYPE_FIELD                        504
  66. #define NSL_TYPE_TEXT                        505
  67. #define NSL_TYPE_LINK                        506
  68. #define NSL_TYPE_RETURN                        507
  69. #define NSL_TYPE_PROCEDURE                    508
  70. #define NSL_TYPE_ARGSTRING                    550
  71. #define NSL_TYPE_STRUCT                        600
  72.  
  73. #define NSLCOMMAND_UNDEFINED                1000    /* nsl commands */
  74. #define NSLCOMMAND_PRINT                    1001
  75. #define NSLCOMMAND_EXIT                        1002
  76. #define NSLCOMMAND_MENU                        1003
  77. #define NSLCOMMAND_JUMP                        1004
  78. #define NSLCOMMAND_RETURN                    1005
  79. #define NSLCOMMAND_PROCEDURE                1006
  80. #define NSLCOMMAND_IF                        1007
  81. #define NSLCOMMAND_THEN                        1008
  82. #define NSLCOMMAND_ELSE                        1009
  83.  
  84. #define NSLCOMMAND_LOADUSER                1010
  85. #define NSLCOMMAND_LOADGROUP                1011
  86. #define NSLCOMMAND_LOADMAINCONFIG        1012
  87. #define NSLCOMMAND_SAVEUSER                1013
  88.  
  89. #define NSLCOMMAND_LOADCOMMANDENTRY        1020
  90. #define NSLCOMMAND_SAVECOMMANDENTRY        1021
  91.  
  92. #define NSL_MENUTAG_COLS                    2000
  93. #define NSL_MENUTAG_AUTOFORMAT            2001
  94.  
  95. #define NSL_SLID_USER                        10000
  96. #define NSL_SLID_MAINCONFIG                10001
  97. #define NSL_SLID_INETCONFIG                10002
  98. #define NSL_SLID_LOCALMAILSERVER            10003
  99. #define NSL_SLID_POP3SERVER                10004
  100. #define NSL_SLID_INETMAILUSER                10005
  101. #define NSL_SLID_COMMANDENTRY                10006
  102. #define NSL_SLID_ITEMENTRY                    10007
  103. #define NSL_SLID_MESSAGE                    10008
  104. #define NSL_SLID_FILE                        10009
  105. #define NSL_SLID_EMAIL                        10010
  106. #define NSL_SLID_DIRECTORY                    10011
  107.  
  108. struct StructureList
  109. {
  110.     struct StructureList    *ln_Succ;
  111.     struct StructureList    *ln_Pred;
  112.     char                        sl_name[40];
  113.     ULONG                        sl_id;
  114.     struct MinList            se_list;
  115. };
  116.  
  117. struct StructureEntry
  118. {
  119.     struct    StructureEntry *ln_Succ;
  120.     struct    StructureEntry *ln_Pred;
  121.     char        se_name[40];
  122.     ULONG        se_offset;
  123.     ULONG        se_length;
  124.     ULONG        se_type;
  125. };
  126.  
  127. struct NSLType
  128. {
  129.     char    name[40];
  130.     ULONG    id;
  131. };
  132.  
  133. struct NSLVariable
  134. {
  135.     struct NSLVariable *ln_Succ;
  136.     struct NSLVariable *ln_Pred;
  137.     char    *name;
  138.     ULONG nsltype;
  139.     struct StructureList *sl;
  140.     ULONG    data;
  141.     ULONG result;
  142. };
  143.  
  144.  
  145. struct NSLMenuItem
  146. {
  147.     NSLMenuItem    *ln_Succ;            // 
  148.     NSLMenuItem    *ln_Pred;            // 
  149.     NSLMenuItem *ln_right;            //
  150.     NSLMenuItem *ln_left;            //
  151.     char            *title;                //
  152.     ULONG         nsltype;                //
  153.     NSLVariable    *var;                    // variable
  154.     ULONG            se_offset;            //    Offset in structure
  155.     ULONG            se_length;            // length of 
  156.     ULONG            se_type;                //
  157.     UBYTE            X;                        //
  158.     UBYTE            Y;                        //
  159.     UBYTE            titlelen;            //
  160.     UBYTE            fieldlen;            //
  161. };
  162.  
  163. struct NSLMenu
  164. {
  165.     MinList itemlist;
  166.     UWORD colums;
  167.     UWORD    entrys;
  168.     UWORD lines;
  169.     UWORD    abstand;
  170.     char  *title;
  171.     char  *head;
  172.     char  headlength;
  173.     NSLMenuItem *last_item;
  174.     struct NSLVariable *var;
  175. };
  176.  
  177.  
  178.  
  179.  
  180. #endif
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.